/**
 * Copyright (C) 2018 - 2020 https://github.com/LeeYan9
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.bifrost.admin.controller;

import com.bifrost.entity.Customer;
import com.bifrost.game.entity.LotteryGame;
import com.bifrost.game.entity.LotteryGameWinner;
import com.bifrost.game.service.LotteryGameService;
import com.bifrost.model.ResultModel;
import com.bifrost.repository.CouponDetailRepository;
import com.bifrost.service.CouponService;
import com.bifrost.service.CustomerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;
import java.util.stream.Collector;
import java.util.stream.Collectors;

/**
 * @author Lee
 * Create Class on 2018/9/17
 * @com.bifrost.admin.controller
 * @wechat-mall
 */
@RestController
@RequestMapping("/admin/lottery")
public class AdminLotteryGameController {

    @Autowired
    LotteryGameService gameService;
    @Autowired
    CouponService couponService;
    @Autowired
    CouponDetailRepository couponDetailRepository;
    @Autowired
    CustomerService customerService;

    @RequestMapping("/reissue")
    public ResultModel reissue(@RequestParam Long gameId){

        couponService.reissue(gameId);

        return ResultModel.ok();
        /*LotteryGame lotteryGame = gameService.findById(gameId);
        List<LotteryGameWinner> gameWinners = lotteryGame.getLotteryGameWinners();

        //得到中奖名单  根据中奖人分组 得到中奖次数
        Map<String, List<LotteryGameWinner>> lotteryGameWinners = gameWinners.stream().collect(Collectors.groupingBy(LotteryGameWinner::getWinnerId));
        lotteryGameWinners.forEach((s, lotteryGameWinners1) -> {
            Customer customer = customerService.findByOpenId(s);
            if(lotteryGameWinners.size()<couponDetailRepository.countByCustomerAndCoupon())
        });*/

    }



}
